// 引入config中的url(后面点什么就是 什么环境)
const baseUrl = require('./config').dev //这里用的是ES6的写法
// 二次封装wx.request
export function request(url, method, data, isLoading) {
  let _url = baseUrl['baseUrl'] + url //子域名按需添加
  //设置请求头
  var header = {
    'content-type': 'application/json'
  }

  //检查缓存中有没有token
  var token = wx.getStorageSync('token')
  if (token != '') {
    header['Authorization'] = token;
  }
    header['content-type'] = 'application/json'

  return new Promise((resolve, reject) => {
    if(isLoading === undefined) {
      wx.showLoading({
        title: '正在加载中',
      })
    }
    wx.request({
      url: _url,
      data: data,
      method: method,
      timeout: 10000,
      // dataType: 'json',
      header: header,
      success: (res) => {
        wx.hideLoading()
        if (res.statusCode == '401') {
          // token失效或未登录状态
          wx.navigateTo({
            url: "/pages/login/login"
          });
          // wx.setStorageSync('token', '');
          wx.clearStorageSync()
          return false
        }
        if (res.statusCode != '200') {
          wx.showToast({
            title: res.data.message || '系统异常',
            icon:'error',
            duration:3000
          })
        } else {
          if (!res.data.success || res.data.code != 0) {
            wx.showToast({
              title: res.data.message || '系统异常',
              icon:'error',
              duration:3000
            })
          }
        }
        
        resolve(res)
      },
      fail: (err) => {
        console.log('err', err);
        wx.hideLoading()
        reject(err)
      },
      complete: (res) => {
        //  wx.reLaunch({
        //     url: '/pages/login/index'
        //   })
      }
    })
  })
}